#ifndef __DENG_H__
#define __DENG_H__

#include "link_list.h"

#define EPSILON 0.01 // 用于 小数比对使用



// ****************  选择功能  ****************
// 开始界面
void kai();

// 开始界面选择
void kai_xuan(int i);
// ****************  登录功能  ****************
// 进度条
void deng_jindutiao(int x, int y, float time_length, char a[]);

// 验证账号
void deng();

// 等待函数
void pause_and_continue();

// // 登录成功后进入类型功能
// void gongneng(int a);

// ****************  注册功能  ****************

// 普通用户的注册
void zhuce();

// ****************  普通用户功能  ****************

// 登陆后的起始界面
void user(Node *L);

// 功能界面
void user_jiemian(Node *L);

// 航班号查询
hang *user_chaxun_hangban(Link_hang *H);

// 终点站查询
hang *user_chaxun_zhongdian(Link_hang *H);

// 订票
void user_dingdan(Node *L);

// 退票
void user_tuipiao(Node *L);

// 根据用户余额改等级
void user_dengji(Node *L);

// 用户余额充值
void user_chongzhi(Node *L);

// 普通用户的修改密码
void user_xiugai(Node *L);

// 查看已购的所有订单
void user_kan(Node *L);

// 查看航班
void user_chakan();

// ****************  超级用户功能  ****************
// root界面
void root();

// 设定航班
void root_sheding();

// 2、删除用户
void root_shan();

// 3、修改用户信息
void root_xiugai();

// 增加root用户
void root_zeng();

// 判断用户等级
void root_dengji(int ar,char *dengji);

// 根据名字查找到用户并返回用户指针
Node *root_ming(Link_list *L);

// 4、修改航班
void root_xiugai_hang();

// 修改用户类型
void root_xiugai_uesr_1(Node * N);

// 修改账号
void root_xiugai_uesr_2(Node * N);

// 修改账号
void root_xiugai_uesr_3(Node * N);

// 修改账号
void root_xiugai_uesr_4(Node * N);

// 修改账号
void root_xiugai_uesr_5(Node * N);

// 删除用户订单
void root_xiugai_uesr_6(Node *L);

// 修改起飞点
void root_xiugai_hang_1(hang *H);

// 修改目的点
void root_xiugai_hang_2(hang *H);

// 修改起飞时间
void root_xiugai_hang_3(hang *H);

// 修改目的时间
void root_xiugai_hang_4(hang *H);

// 修改机型
void root_xiugai_hang_5(hang *H);

// 修改班期
void root_xiugai_hang_6(hang *H);

// 修改票价
void root_xiugai_hang_7(hang *H);

// 修改额定载客量
void root_xiugai_hang_8(hang *H);

// 修改剩余座位数量
void root_xiugai_hang_9(hang *H);

// 修改是否起飞
void root_xiugai_hang_10(hang *H);

// 修改起飞时间
void root_xiugai_hang_11(hang *H);

// 文件的刷新(按照时间)
void root_shauxin();

// ****************  文件功能  ****************

// 打开文件
FILE *file_open(const char *path, const char *mode);

// 关闭文件
int file_close(FILE **fp);

// 把文件里面的东西拿出来(名单)
Link_list *nacun();

// 把文件里面的东西拿出来(航班)
Link_hang *nacun_hang();

#endif
